const fs = require("fs")

function getFileByPath(fpath){
    return new Promise(function(resolve,reject){

        fs.readFile(fpath,'utf-8',(err,data)=>{//读取文件开始
            if(err) return 
            reject(err)//错误就返回错误，同时结束调用，正确就跳过
            resolve(data)//成功之后要做地事情，错误则不执行
        })//读取文件结束

    })
}



//先1，再2，最后3，
// 需求 1 ： 如果 1 失败，不影响 2和 3.同理，2失败也不影响 1 和 3

// 不管读取文件的成功失败，都在最后return一个函数对象，
//方便下一个.then进行再操作数据


getFileByPath('./files/11.txt')

    .then(function(data){
        var data2 = data//这里可以说拿到这个数据了
        console.log(data2)
        return getFileByPath("./files/2.txt")
    },function(err){
        console.log('1 文件读取失败，'+err.message)
        return getFileByPath("./files/22.txt")
    })

    .then(function(data){//接着上一步return出来的结果进行.then操作
        console.log(data)
        return getFileByPath("./files/3.txt")
    },function(err){
        console.log('2 文件读取失败，'+err.message)
        return getFileByPath("./files/3.txt")
    })

    .then(function(data){
        console.log(data)
        return getFileByPath("./files/1.txt")
    },function(err){
        console.log('3 文件读取失败，'+err.message)
        return getFileByPath("./files/1.txt")
    })

    .then(function(data){
        console.log(data)
        console.log("需求 1 解决，划分线\n-------------- ")
    })

 






